
package com.sawgdev.android.bokuiki.common.database;

import com.sawgdev.android.bokuiki.bean.BeanCondition;
import com.sawgdev.android.bokuiki.bean.BeanConfig;
import com.sawgdev.android.bokuiki.bean.BeanHistory;

import java.util.List;

public interface IBkpfDao {
    /**
     * <pre>
     * 軌跡情報を登録します。
     * </pre>
     *
     * @param BeanHistory
     * @see com.sawgdev.android.bokuiki.bean.BeanHistory 過去の軌跡を保持するJavaBeans
     * @return 更新件数
     */
    public long insHistory(BeanHistory beanHistory);

    /**
     * <pre>
     * 軌跡情報を登録します。
     * </pre>
     *
     * @param List<BeanHistory>
     * @see com.sawgdev.android.bokuiki.bean.BeanHistory 過去の軌跡を保持するJavaBeans
     * @return 更新件数
     */
    public long insHistory(List<BeanHistory> list);

    /**
     * <pre>
     * 地図に表示する為の軌跡情報を取得します。
     * </pre>
     *
     * @see com.sawgdev.android.bokuiki.bean.BeanHistory 過去の軌跡を保持するJavaBeans
     * @return 軌跡のリスト
     */
    public List<BeanHistory> selTracks();

    /**
     * <pre>
     * 地図に表示する為の軌跡情報を取得します。
     * </pre>
     *
     * @param BeanCondition
     * @see com.sawgdev.android.bokuiki.bean.BeanHistory 過去の軌跡を保持するJavaBeans
     * @see com.sawgdev.android.bokuiki.bean.BeanCondition 検索条件を保持するJavaBeans
     * @return 軌跡のリスト
     */
    public List<BeanHistory> selTracks(BeanCondition beanCondition);

    /**
     * <pre>
     * 基本設定情報を更新します。
     * </pre>
     *
     * @param BeanConfig
     * @see com.sawgdev.android.bokuiki.bean.BeanConfig 基本設定情報を保持するJavaBeans
     * @return 更新件数
     */
    public long mrgConfig(BeanConfig beanConfig);

    /**
     * <pre>
     * 基本設定情報を取得します。
     * </pre>
     *
     * @see com.sawgdev.android.bokuiki.bean.BeanConfig 基本設定情報を保持するJavaBeans
     * @return 基本設定情報
     */
    public BeanConfig selConfig();
}
